package com.cloud.charts4a.chart.attrib;

/**
 * Y-Axis attributes in chart<p/>
 * 
 * @version
 * <ol>
 * 	<li>2010/07/09 CloudTu：First Release</li>
 * </ol>
 * 
 * @author Cloud Tu
 */	
public class YAxisAttribs{
	private Integer minYValue;	//Y軸的最小值
	private Integer maxYValue;	//Y軸的最大值 
	private int yValueInterval;	//相臨二個Y軸之值的間隔		
	private String yUnitDesc;	//Y軸的單位說明	
				
	/**
	 * Y-Axis attributes in chart
	 * 
	 * @param yValueInterval	相臨二個Y軸之值的間隔
	 * @param yUnitDesc			Y軸的單位說明
	 */
	public YAxisAttribs(int yValueInterval,String yUnitDesc) {								
		this.yValueInterval = yValueInterval;
		this.yUnitDesc = yUnitDesc;
	}
	
	/**
	 * Y-Axis attributes in chart
	 * 
	 * @param minYValue			Y軸的最小值
	 * @param maxYValue			Y軸的最大值
	 * @param yValueInterval	相臨二個Y軸之值的間隔	
	 * @param yUnitDesc			Y軸的單位說明
	 */
	public YAxisAttribs(Integer minYValue,Integer maxYValue,int yValueInterval,String yUnitDesc) {								
		this(yValueInterval, yUnitDesc);
		this.minYValue = minYValue;
		this.maxYValue = minYValue + yValueInterval * (int)Math.ceil(((double)maxYValue - minYValue) / yValueInterval);		
	}	

	/**
	 * 取得Y軸的最小值
	 * 
	 * @return Y軸的最小值
	 */
	public Integer getMinYValue() {
		return minYValue;
	}

	/**
	 * 取得Y軸的最大值
	 * 
	 * @return Y軸的最大值
	 */
	public Integer getMaxYValue() {
		return maxYValue;
	}			
	
	/**
	 * 取得相臨二個Y軸之值的間隔
	 * 
	 * @return 相臨二個Y軸之值的間隔
	 */
	public int getYValueInterval() {
		return yValueInterval;
	}

	/**
	 * 取得Y軸的單位說明
	 * 
	 * @return Y軸的單位說明
	 */
	public String getYUnitDesc() {
		return yUnitDesc;
	}			
}			
